{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from transformers import GPTNeoXForCausalLM,AutoTokenizer\n",
    "from dolly.generate import generate_response,load_model_tokenizer_for_generate\n",
    "import torch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# model = GPTNeoXForCausalLM.from_pretrained(\"model_output/checkpoint-17000\").half().cuda()\n",
    "# tokenizer = AutoTokenizer.from_pretrained(\"model_output/checkpoint-17000\")\n",
    "\n",
    "\n",
    "model, tokenizer = load_model_tokenizer_for_generate(pretrained_model_name_or_path=\"model_output/checkpoint-17000\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "****************************************************************************************************\n",
      "- 《致命招若众》 by 黄伟作为一部历史传说学者的作品，创作于 1898 年。\n",
      "- 《讲故事人生》 by 苏珊作为一部历史传说，近年的迈克尔·道尔莎尼的重装作品，创作于1999年。\n",
      "- 《金头银头》 by 洛克菲尔德·迪伊纳作为一部小说、小说之旅、花园小说家之一，创作于1958年。\n",
      "****************************************************************************************************\n",
      "1. 《1984》 《1984》创作者是乔治·帕尼多\n",
      "2. 《狱中情书》 《狱中情书》创作者是汤汉·丹尼斯\n",
      "****************************************************************************************************\n",
      "1. 《三体》，作者—— 吴开元（马绝墨人）\n",
      "2. 《小说天际》，作者—— 迈尔斯·沃兹·沃倫（艾玛纳德·罗杰）\n",
      "3. 《推理》，作者—— 迈克尔·保罗（奥地利原住民·保罗）\n",
      "****************************************************************************************************\n",
      "1.《小说》：《伟大小小诗集》于一九六一年一二月七日宣布，印行于北京西泠、杭州译汇出版、王刚文出版等。\n",
      "2.《小说》：《钢铁杀手在深层小屋里》，在近代精英出版以来是其中的一个标志性作品。\n",
      "3.《小说》：《泰坦尼克号》是一本诞生于一九六一年一二月七日的一部具有意大利文艺复兴的小说，在百年发展中被诠释为世界著名作品之一。\n",
      "****************************************************************************************************\n",
      "三个最伟大的小说之一：《百年孤儿》（One Hundred Years of Solitude），《蒙娜莉亚的神父》（Mulan）和《爱斯卡西尼的罪恶大法》（The Princess Bride）都是作者：Andre Duboc*和C. S. Lewis.\n",
      "****************************************************************************************************\n",
      "1. 情感探摩火车 (Emile Zola, 1870年-1951年)\n",
      "2. 金黄羔墨帖 (Anton Chekhov, 1839-1904年)\n",
      "3. 格莉莎（Sheridan Le Fanu, 1814-1871年）\n",
      "****************************************************************************************************\n",
      "1.《英格兰雪》\n",
      "2.《勇气不屈不挡》\n",
      "3.《田野坊》\n",
      "****************************************************************************************************\n",
      "1.《1984》 - 乔治·奥威尔\n",
      "2.《西瓜》 - 刘慈欣\n",
      "3.《狄家家》 - 唐诗词\n",
      "****************************************************************************************************\n",
      "1. 《猴子与戴帝》（沉静时） by 莱昂纳多·哈里米尔（T. S. Eliot）\n",
      "2. 《金刚经》（Ralph Waldo Emerson）\n",
      "3. 《仙书》（伊万斯·爱德利·希腊）\n",
      "****************************************************************************************************\n",
      "《小说作家学习写作》\n",
      "作者：伯克\n",
      "著作：Daisy Goodman and Candice Millard\n"
     ]
    }
   ],
   "source": [
    "for i in range(10):\n",
    "    print(\"*\" * 100)\n",
    "    res = generate_response(instruction=\"列出三个在二十世纪被认为是最伟大的小说之一的书名，以及它们的作者。\", model=model,tokenizer=tokenizer)\n",
    "    print(res)\n",
    "    torch.cuda.empty_cache()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'《三体》讲述了人类和外星文明三体人之间的交互\\n以及因观测到地球上物理学家张文远发出的一道求援信，三体人入侵地球的过程。'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"\"\"物联网或IoT是一种网络连接方式，使得物理设备、传感器和其他技术可以相互连接和通信，以共同执行任务或集成数据。物联网的应用包括智能家居、智慧城市、智能工业、物流和医疗保健等领域。\"\"\""
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "mynet",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
